Ext.define('artemisa.controller.Usuarios',
		
	{

		extend: 'Ext.app.Controller',
	
		stores:	['Usuarios'],
		models:	['Usuario'],
		views:	['usuario.Mostrar', 'usuario.Editar'],
	
		refs: [{
		    	   
			ref: 'usuarios',
			selector: 'mostrar-usuarios'

		}],

		init: function() {

			this.control({
	
				'mostrar-usuarios': {
	
					itemdblclick: this.gestorMostrarEditarUsuario
	
				},
	
				'editar-usuario button[action=confirmar]': {
	
					click: this.gestorConfirmarEditarUsuario
	
				},
	
				'editar-usuario button[action=cancelar]': {
	
					click: this.gestorCancelarEditarUsuario
	
				}
	
			});

		},

		gestorMostrarEditarUsuario: function(grid, registroUsuario) {

			var vistaEditarUsuario = Ext.widget('editar-usuario');
			vistaEditarUsuario.down('form').loadRecord(registroUsuario);
			vistaEditarUsuario.down('form > textfield').focus();
	
		},

		gestorConfirmarEditarUsuario: function(botonEditarUsuario) {
	
			var ventanaEditarUsuario = botonEditarUsuario.up('window');
	        var formularioEditarUsuario = ventanaEditarUsuario.down('form');
	        var registroUsuario = formularioEditarUsuario.getRecord();
	        var datosUsuario = formularioEditarUsuario.getValues();
	
			registroUsuario.set(datosUsuario);
			ventanaEditarUsuario.close();
	
			this.getUsuariosStore().sync();
	
		},

		gestorCancelarEditarUsuario: function(boton) {
	
			var ventanaEditarUsuario = boton.up('window');
			ventanaEditarUsuario.close();
	
			var vistaEditarUsuario = this.getUsuarios();
			vistaEditarUsuario.getSelectionModel().select(vistaEditarUsuario.getSelectionModel().getLastSelected(), true, true);
			vistaEditarUsuario.getView().focus(false);
	
		}

	}

);
